################################################################################
# This script reproduces all results in "Federal Tax Deductions and the Demand for Local Public Goods" by Ambrose & Valentin.

# Created by: Maxence V.
# Date      : 08-18-2020
# Modified  : 12-22-2023
################################################################################


################################################################################
# Session set-up

################################################################################

# Clean current workspace
rm(list = ls())

# Set working directory to location of script
setwd(dirname(rstudioapi::getActiveDocumentContext()$path))

# Disallows scientific notation in R outputs
options(scipen=999)

# Load R packages needed for the analysis
library(ggplot2) # to make figures
library(DescTools) # to winsorize data
library(stargazer) # to output tables
library(lfe) # to perform fixed effect regressions
library(doParallel) # allows for parallel processing
library(scales) # for the labels of figures
library(tigris) # contains shape files to map
library(ggthemes) # for the aesthetic of figures

################################################################################
# Create datasets for analysis or load it

################################################################################

rm(list = ls())
from_scratch <- FALSE

if(from_scratch == TRUE){
  source("Rscripts/1.Create_dataset_for_analysis.R")
}else{
  load("Data/data_for_analysis.RData")
  rm(from_scratch)
}

################################################################################
# Scripts for each exhibits in main paper

################################################################################


# Table 1 -- Summary statistics
source("Rscripts/6.sumstat.R")

# Table 2 -- Main results
source("Rscripts/7.main_result.R")

# Figure 1 -- Share of California Local Tax Referendums Approved
source("Rscripts/8.school_vs_city_raw.R")

# Figure 2 -- Dynamic Average Causal Responses and least wiggly path of confound
source("Rscripts/9.parallel_trend.R")

# In-text coefficients of Section 4
source("Rscripts/10.elasticity.R")


################################################################################
# Scripts for each exhibits in the online Appendix

################################################################################

source("Rscripts/11.figures_in_appendix.R")

source("Rscripts/12.tables_in_appendix.R")

rm(list = ls())
